/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Controller;

import DTO.Antecedente_Personal_NOPatalogicos;
import DTO.Antecedente_Personal_Patalogicos;
import DTO.Antecedente_QT;
import DTO.AntecedentesGerico_obstetricos;
import DTO.Examen_Fisico;
import DTO.Heredo_Familiares;
import DTO.Padecimiento_Actual;
import DTO.Receta;
import DTO.Recomendacion;
import Model.conexionBD;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(name = "Servlet_ExamenFisico", urlPatterns = {"/Servlet_ExamenFisico"})
public class Servlet_ExamenFisico extends HttpServlet {
    
    String cedula_Paciente = "";
    String respuesta = "";

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
         
       String FrecuenciaCardiaco = request.getParameter("FC");
       String FrecuenciaRespiratoria = request.getParameter("TFR");
       String Pulso = request.getParameter("TP");
       String Temperatura = request.getParameter("Temp");
       String Estatura = request.getParameter("T_Estatura");
       String Peso = request.getParameter("T_Peso");
       String Cabeza = request.getParameter("T_Cabeza");
       String Cuello = request.getParameter("T_Cuello");
       String Torax = request.getParameter("T_Torax");
       String Abdomen = request.getParameter("T_Abdomen");
       String Extremidades = request.getParameter("T_extremidades");
       String PacedimientoActual = request.getParameter("T_PA");
       String AntecedentesPersonalesPatologicos = request.getParameter("T_APP");
       String AntecedentesPersonalesNOpatólogicos = request.getParameter ("T_APnP");
       String AntecedentesHeredo_familiares = request.getParameter ("T_AHF");
       String AntecedentesGerico_obtetricos = request.getParameter ("T_AGO");
       String AntecedentesQuirurgicos_traumáticos= request.getParameter ("T_AQT");
       int cedulaPaciente = Integer.parseInt(request.getParameter("cedula"));
      /*
       * MEDICAMENTOS 
       */ 
       String recomendacionesOnotaReferencial= request.getParameter ("T_Indicaciones");
       String NombMedicamento1 = request.getParameter("NombMedicamento1");
       String CantMedicamento1 = request.getParameter("CantMedicamento1");
       String T_IndicacionMedicamento1 = request.getParameter ("T_IndicacionMedicamento1");

       String NombMedicamento2= request.getParameter("NombMedicamento2");
       String CantMedicamento2 = request.getParameter("CantMedicamento2");
       String T_IndicacionMedicamento2= request.getParameter("T_IndicacionMedicamento2");
       
       String NombMedicamento3= request.getParameter("NombMedicamento3");
       String CantMedicamento3 = request.getParameter("CantMedicamento3");
       String T_IndicacionMedicamento3= request.getParameter("T_IndicacionMedicamento3");
       
       String NombMedicamento4= request.getParameter("NombMedicamento4");
       String CantMedicamento4 = request.getParameter("CantMedicamento4");
       String T_IndicacionMedicamento4 = request.getParameter("T_IndicacionMedicamento4");
       
       String NombMedicamento5= request.getParameter("NombMedicamento5");
       String CantMedicamento5 = request.getParameter("CantMedicamento5");
       String T_IndicacionMedicamento5 = request.getParameter("T_IndicacionMedicamento5");
       /*
       * FIN MEDICAMENTOS 
       */ 
       
      conexionBD c = new conexionBD("root", "root", "SAPCOMED_DATABASE");

       Examen_Fisico ef= new Examen_Fisico(cedulaPaciente,FrecuenciaCardiaco,FrecuenciaRespiratoria,Pulso,Temperatura,Estatura,Peso,Cabeza,Cuello,Torax,Abdomen,Extremidades);
       Antecedente_QT qt = new Antecedente_QT(cedulaPaciente,AntecedentesQuirurgicos_traumáticos);
       Padecimiento_Actual PA= new Padecimiento_Actual(cedulaPaciente,PacedimientoActual);
       Antecedente_Personal_Patalogicos PP = new Antecedente_Personal_Patalogicos(cedulaPaciente,AntecedentesPersonalesPatologicos);
       Antecedente_Personal_NOPatalogicos PNP= new Antecedente_Personal_NOPatalogicos(cedulaPaciente,AntecedentesPersonalesNOpatólogicos);
       AntecedentesGerico_obstetricos gericoAbs= new AntecedentesGerico_obstetricos(cedulaPaciente,AntecedentesGerico_obtetricos);
       Heredo_Familiares Hf= new Heredo_Familiares(cedulaPaciente,AntecedentesHeredo_familiares);
      
       Recomendacion rec= new Recomendacion(cedulaPaciente,recomendacionesOnotaReferencial);
       Receta receta;
       
           if(!NombMedicamento1.equals("") && !CantMedicamento1.equals("") && !T_IndicacionMedicamento1.equals("") ){
               receta = new Receta(cedulaPaciente,NombMedicamento1,CantMedicamento1,T_IndicacionMedicamento1);
                c.insertarReceta(receta);   
           }
           
           if(!NombMedicamento2.equals("") && !CantMedicamento2.equals("") && !T_IndicacionMedicamento2.equals("") ){
               receta = new Receta(cedulaPaciente,NombMedicamento2,CantMedicamento2,T_IndicacionMedicamento2);
                c.insertarReceta(receta);   
           }
           if(!NombMedicamento3.equals("") && !CantMedicamento3.equals("") && !T_IndicacionMedicamento3.equals("") ){
               receta = new Receta(cedulaPaciente,NombMedicamento3,CantMedicamento3,T_IndicacionMedicamento3);
                c.insertarReceta(receta);   
           }
           if(!NombMedicamento4.equals("") && !CantMedicamento4.equals("") && !T_IndicacionMedicamento4.equals("") ){
               receta = new Receta(cedulaPaciente,NombMedicamento4,CantMedicamento4,T_IndicacionMedicamento4);
                c.insertarReceta(receta);   
           }
           if(!NombMedicamento5.equals("") && !CantMedicamento5.equals("") && !T_IndicacionMedicamento5.equals("") ){
               receta = new Receta(cedulaPaciente,NombMedicamento5,CantMedicamento5,T_IndicacionMedicamento5);
                c.insertarReceta(receta);   
           }
      /*
       Ficha_Clinica fic = new Ficha_Clinica();     
       int id_Paciente, int id_Administrador, int codigo_Anteced_QT, int codigo_AP, int codigo_PA, int codigo_AP_NP, int codigo_HF, int codigo_GericoAbst, int codigo_Receta, int codigo_Recomendacion
      */         
      try{
           c.insertarExamen_Fisico(ef);
           c.insertarAntecedente_QT(qt);
           c.insertarPadecimiento_Actual(PA);
           c.insertarAntecedente_Personal_Patalogicos(PP);
           c.insertarAntecedente_Personal_NOPatalogicos(PNP);
           c.insertarAntecedentesGerico_obstetricos(gericoAbs);
           c.insertarHeredo_Familiares(Hf);
           c.insertarRecomendacion(rec);
           
           c.datosExamenFisico(cedulaPaciente);
      
             out.println( "<div id=\"ajax_response\" style=\"border:1px solid #4F8A10;"
                    +"height:20px;"
                    +"width:678px;"
                    +"padding:4px 0px 0px 20px;"
                    + "text-align: center;"
                    +"background-color:#DFF2BF;"
                    +"font-weight: bold;"
                    +"color: #4F8A10;"
                    +"font-size: 1.1em;"
                    +"margin:30px 0px 0px 0px;\">"
                    + "<style>  div.growlUI {background: url(img/check.png) no-repeat 10px 10px;} </style>"
                    + "Examen físico registrado!!</div>");
//             request.setAttribute("respuesta", respuesta);
//             request.getRequestDispatcher("RegistroFicha2.jsp").forward(request, response);
      }
      catch(Exception e){
          out.println( "<div id=\"ajax_response\" style=\"border:1px solid #D8000C; "
                    + "height:20px; "
                    + "width:678px; " /*184*/
                    + "padding:4px 0px 0px 20px; "
                    + "text-align: center;"
                    + "background-color:#FFBABA; "
                    + "font-weight: bold; "
                    + "color: #D8000C; "
                    + "margin:20px 0px 0px 0px;"
                    + "font-size: 1.1em; \"> "
                    + "<style>  div.growlUI {background: url(img/uncheck.png) no-repeat 10px 10px;} </style>"
                    + "Examen físico no registrado!!!</div>");
            Logger.getLogger(GeneradorPDF.class.getName()).log(Level.SEVERE, null, e);
//            request.setAttribute("respuesta", respuesta);
//            request.getRequestDispatcher("RegistroFicha2.jsp").forward(request, response);
      }
        } catch(Exception e){
          out.println("<div id=\"ajax_response\" style=\"border:1px solid #D8000C; "
                    + "height:20px; "
                    + "width:678px; " /*184*/
                    + "padding:4px 0px 0px 20px; "
                    + "text-align: center;"
                    + "background-color:#FFBABA; "
                    + "font-weight: bold; "
                    + "color: #D8000C; "
                    + "margin:20px 0px 0px 0px;"
                    + "font-size: 1.1em; \"> "
                    + "<style>  div.growlUI {background: url(img/uncheck.png) no-repeat 10px 10px;} </style>"
                    + "Examen físico no registrado!!</div>");
            Logger.getLogger(GeneradorPDF.class.getName()).log(Level.SEVERE, null, e);
//            request.setAttribute("respuesta", respuesta);
//            request.getRequestDispatcher("RegistroFicha2.jsp").forward(request, response);
      }finally {            
            out.close();
        }
        
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP
     * <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP
     * <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}